#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# -*-author:Chenhui

from socket import *

IP = '127.0.0.1'
SERVER_PORT = 8888
BUFLEN = 512

# 实例化一个sokcet对象，指明协议
dataSocket = socket(AF_INET, SOCK_STREAM)

# 连接服务端socket
dataSocket.connect((IP, SERVER_PORT))

while True:
    # 从终端读入用户输入的字符串
    toSend = input('>>> ')
    if toSend == 'exit':  # 退出循环，程序结束
        break
    dataSocket.send(toSend.encode())
    recved = dataSocket.recv(BUFLEN) # 阻塞
    # 如果返回空数据包，0个bytes，表示对方关闭了连接
    if not recved:
        break
    # 打印读取的信息
    print(recved.decode())
# 如果希望客户端一直连接，把下面的语句注释掉
# 如果下面的语句开启，则通信一次，再次通信server和client都需要重新运行，才能彻底清除套接字和端口号
# dataSocket.close()
